package org.point.service;

import java.io.Serializable;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;

import org.point.common.service.BaseService;
import org.point.common.util.DoPage;
import org.point.domain.CreditsRule;
import org.point.domain.CreditsType;

/**
 * 
 * @ClassName: CreditsRuleService  
 * @Description: TODO(积分规则业务接口类)  
 * @author Kenny_Z' szqiuk@gmail.com
 * @date 2016年10月23日 下午3:56:58  
 *
 */
public interface CreditsRuleService extends BaseService<CreditsRule, Serializable> {

	/**
	 * 
	 * @Title: searchCR 
	 * @Description: TODO(积分规则查询) 
	 * @param @param page
	 * @param @return    设定文件 
	 * @return List<CreditsRule>    返回类型 
	 * @throws
	 */
	public List<CreditsRule> searchCR(DoPage<CreditsRule> page);
	public DoPage<CreditsRule> searchCRForPage(DoPage<CreditsRule> page);
	
	/**
	 * 
	 * @Title: countCR 
	 * @Description: TODO(积分规则查询记录数) 
	 * @param @param page
	 * @param @return    设定文件 
	 * @return Integer    返回类型 
	 * @throws
	 */
	public Integer countCR(DoPage<CreditsRule> page);
	
	/**
	 * @param crCode 
	 * 
	 * @Title: insertCR 
	 * @Description: TODO(积分规则新增) 
	 * @param @param record
	 * @param @return    设定文件 
	 * @return Integer    返回类型 
	 * @throws
	 */
	public Integer insertCR(CreditsRule record, String crCode);
	
	/**
	 * 
	 * @Title: editCRStatus 
	 * @Description: TODO(积分规则修改状态) 
	 * @param @param map
	 * @param @return    设定文件 
	 * @return Integer    返回类型 
	 * @throws
	 */
	public Integer editCRStatus(Map<String, Object> map);
	
	public Integer deleteCRs(Map<String, Object> map);
	public CreditsRule getCRByCRID(Map<String, Object> map);
	public List<Hashtable<Object, Object>> selectCreditsTypes();
	public List<Hashtable<Object, Object>> selectcreditsBehavior();
	
	
}
